// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出曲线图 ============================== //

export default {
  // —————————————————————————————— 数据属性 —————————————————————————————— //

  xData: { type: Array, default: () => [] }, // X 轴数据
  dataList: { type: Array, default: () => [] }, // 数据列表

  // —————————————————————————————— 宽度属性 —————————————————————————————— //

  lineWidth: { type: Number, default: 2 }, // 线段宽度

  // —————————————————————————————— 单位属性 —————————————————————————————— //

  unit: { type: String, default: '' }, // 单位

  // —————————————————————————————— 颜色属性 —————————————————————————————— //

  ...CORE.WEB.BASE.COLOR.PROPS, // 优先级递减, 为空取第一个 (触发整体重绘)

  // —————————————————————————————— 面积属性 —————————————————————————————— //

  area: { type: Boolean, default: false }, // 是否显示曲线面积 (触发整体重绘)

  // —————————————————————————————— 初始化属性 —————————————————————————————— //

  init: { type: Object, default: () => OPTION }, // 初始化配置项 (触发整体重绘)
}

// ============================== 导出初始配置 ============================== //

export const OPTION = {
  tooltip: {
    trigger: 'axis', // 坐标轴触发，主要在柱状图，折线图等会使用类目轴的图表中使用
    confine: true, // 是否将 tooltip 框限制在图表的区域内
    axisPointer: {
      type: 'cross', // 十字准星指示器。其实是种简写，表示启用两个正交的轴的 axisPointer
      label: {
        backgroundColor: '#6a7985',
      },
    },
  },

  grid: {
    top: 20,
    left: 16,
    right: 16,
    bottom: 5,
    containLabel: true,
  },

  xAxis: {
    data: [],
    axisLabel: {
      color: '#666',
    },
    axisLine: {
      lineStyle: {
        color: '#999',
      },
    },
    axisTick: {
      show: false,
    },
    boundaryGap: false,
  },

  yAxis: {
    minInterval: 1,
    axisLabel: {
      color: '#666',
    },
    axisLine: {
      show: true,
      lineStyle: {
        color: '#ccc',
      },
    },
    axisTick: {
      show: false,
    },
    splitLine: {
      show: false,
    },
  },

  series: [
    {
      type: 'line',
      smooth: 0.3,
      data: [],
      showSymbol: false,
      itemStyle: {
        color: '',
      },
      lineStyle: {
        width: 2,
        color: '',
        shadowColor: '',
        shadowBlur: 5,
        shadowOffsetY: 8,
      },
      emphasis: {
        focus: 'series',
      },
    },
  ],
}
